package com.yj.idempotence.thread;

/**
 * 创建两个线程，分别设置线程名称为 threadOne 和 threadTwo；
 * 创建一个共享的 int 数据类型的 count，初始值为 0；
 * 两个线程同时对该共享数据进行增 1 操作，每次操作 count 的值增加 1；
 * 对于 count 数值加 1 的操作，请创建一个单独的 increase 方法进行实现；
 * increase 方法中，先打印进入的线程名称，然后进行 1000 毫秒的 sleep，每次加 1 操作后，打印操作的线程名称和 count 的值；
 * 运行程序，观察打印结果。
 */
public class Demo04 extends Thread {
    private static int  count = 0;


    public static void main(String[] args) {
        Demo04 demo1 = new Demo04();
        Demo04 demo2 = new Demo04();
        demo1.setName("ThreadOne");
        demo2.setName("ThreadTwo");
        demo1.start();
        demo2.start();


    }

    public static synchronized void increase() throws InterruptedException {
        sleep(1000);
        count++;
        System.out.println("当前线程名称："+Thread.currentThread()+":"+count);

    }

    @Override
    public void run() {
        try {
            increase();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
